<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>伸缩盒伸缩</title>
    <style>
        .outer {
            width: 1000px;
            height: 600px;
            background-color: #888;
            margin: 0 auto;
            display: flex;

            justify-content: flex-start;


        }

        .inner {
            width: 200px;
            height: 200px;
            border: 1px solid black;
            background-color: skyblue;
            box-sizing: border-box;
        }
        .inner1{
            /*flex-grow是划分一行剩余的空间，把flex-grow都加起来/自身flex-grow,然后乘上剩余空间，就是拉伸的长度*/
            flex-grow: 1;
        }
        .inner2{
            width: 300px;
            flex-grow: 1;

        }
        .inner3{
            flex-grow: 1;
        }

        .outer2 {
            width: 1000px;
            height: 600px;
            background-color: #888;
            margin: 0 auto;
            display: flex;
            justify-content: flex-start;
            align-content: flex-start;
            flex-grow: 1;

            /* flex-shrink了解即可，不要乱调整,直接不写最好 */
            /* flex-wrap: wrap; */
            /* flex-shrink 默认为1，进行缩的时候  */
            /* 先找到主轴上的长度，200，300，200，分母= 长度*flex-shrink之和 ，这里就是700=200*1+300*1+200*1   */
            /* 收缩比就是 长度*flex-shrink /分母 ，200/700，记作比例值 ，收缩值=比例值*总收缩，比如要收缩300，那么就是2/7 * 300  */
            /* 算出来和浏览器可能不同，因为浏览器对边框计算有误差，但不影响观感 */
            
            /* 缩是有极限的，就算宽度为0也会保证里面内容呈现出来 */
            flex-shrink: 1;

        }

        .box {
            width: 200px;
            height: 200px;
            border: 1px solid black;
            background-color: skyblue;
            box-sizing: border-box;
            flex-grow: 1;
        }
        .box2{
            width: 300px;
        }
    </style>
</head>
<body>
<div class="outer2">
    <div class="box box1">1</div>
    <div class="box box2">2</div>
    <div class="box box3">3</div>
</div>
<hr>
<div class="outer">
    <div class="inner inner1">1</div>
    <div class="inner inner2">2</div>
    <div class="inner inner3">3</div>
</div>
<hr>

</body>
</html>